|
End-user development (EUD) or end-user programming (EUP) refers to activities and tools that allow end-users – people who are not professional software developers – to program computers. People who are not professional developers can use EUD tools to create or modify ''software artifacts'' (descriptions of automated behavior) and complex data objects without significant knowledge of a programming language. Various approaches exist, and it is an active research topic within the field of computer science and human-computer interaction. Examples include spreadsheets, scripting languages (particularly in an office suite or art application), and programming by example. The most popular EUD tool is the spreadsheet.〔(【引用サイトリンク】author=Margaret M. Burnett and Christopher Scaffidi ) at "Encyclopedia of Human-Computer Interaction".〕 Due to their unrestricted nature, spreadsheets allow relatively un-sophisticated computer users to write programs that represent complex data models, while shielding them from the need to learn lower-level programming languages. Because of their common use in business, spreadsheet skills are among the most beneficial skills for a graduate employee to have, and are therefore the most commonly sought after〔Kruck, S. & Sheetz, S., 2001. Spreadsheet accuracy theory. Journal of Information Systems Education.〕 In the United States of America alone, there are an estimated 13 million end user developers programming with spreadsheets〔Scaffidi, C., Shaw, M. & Myers, B., 2005. Estimating the Numbers of End Users and End User Programmers. 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC’05), pp.207–214.〕 Early attempts in End-user development were centered on adding simple scripting programming languages to extend and adapt an existing application, such as an office suite. More recent research tries to bring programming closer to the needs of end users. The Programming by example (''PbE'') approach reduces the need for the user to learn the abstractions of a classic programming language. The user instead introduces some examples of the desired results or operations that should be performed on the data, and the PbE system infers the correct abstractions corresponding to a program that produces this output. New data may then be introduced to the automatically created program, and the user can correct any mistakes made by the program in order to improve its definition. There are two basic reasons why EUD has become popular. One is because organizations are facing delays on projects and using EUD can effectively cut the time of completion on a project. The second reason is that software tools are more powerful and easier to use. Lessons learned from EUD solutions can significantly influence the software life cycles for commercial software products, in-house intranet/extranet developments and enterprise application deployments. ==Definition== Lieberman et al. propose the following definition:〔Lieberman, H., Paternò, F., Klann, M., and Wulf, V. (2006). End-User Development: An Emerging Paradigm. In: End-User Development, Lieberman, H., Paternò, F., and Wulf, V. (eds.), Springer Netherlands, 2006, ser. Human-Computer Interaction Series, vol. 9, Chapter 1, pp. 1-7, 〕 End-User Development can be defined as a set of methods, techniques, and tools that allow users of software systems, who are acting as non-professional software developers, at some point to create, modify or extend a software artifact. Artifacts defined by end users may be objects describing some automated behavior or control sequence, such as database requests or grammar rules,〔H. Lieberman, B. A. Nardi, and D. Wright. Grammex: Defining grammars by example. In ACM conference on Human Factors in Computing Systems (Summary, Demonstrations) (CHI ’98), Los Angeles, California, USA, pages 11–12. ACM Press, Apr. 1998. 〕 which can be described with programming paradigms such as programming by demonstration, programming with examples, visual programming, or macro generation.〔Maria Francesca Costabile, Daniela Fogli, Piero Mussio, Antonio Piccinno. ''End-user development: the software shaping workshop approach''. In Lieberman, H., Paternò, F., Wulf, V. (Eds) (2004) End User Development - Empowering People to Flexibly Employ Advanced Information and Communication Technology, © 2004 Kluwer Academic Publishers, Dordrecht, The Netherlands.〕 They can also be parameters that choose between alternative predefined behaviors of an application.〔Costabile, M.F., Fogli, D., Letondal, C., Mussio, P., Piccinno, A., Domain -Expert Users and their Needs of Software Development", UAHCI Conference, Crete, June 22–27, 2003, 232-236.〕 Other artifacts of end-user development may also refer to the creation of user-generated content such as annotations, which may be or not computationally interpretable (i.e. can be processed by associated automated functions).〔Gerhard Fischer ''End-User Development and Meta-Design: Foundations for Cultures of Participation''. End-User Development Lecture Notes in Computer Science, 2009, Volume 5435/2009, 3-14, 〕 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「End-user development」の詳細全文を読む スポンサード リンク
|